草庐IT

C++ CreateWindowEx 返回 NULL

全部标签

C# Process.MainWindowHandle 总是返回 IntPtr 零

这是我的代码:using(Processgame=Process.Start(newProcessStartInfo(){FileName="DatabaseCheck.exe",RedirectStandardOutput=true,CreateNoWindow=true,UseShellExecute=false})){lblLoad.Text="Loading";intSwitch=0;while(game.MainWindowHandle==IntPtr.Zero){Switch++;if(Switch%1000==0){lblLoad.Text+=".";if(lblLoad

c# - 为什么在检查对象是否等于 null 之前先转换为 null?

我在查看“DomainOrientedN-Layered.NET4.0SampleApp”项目时遇到了一些我不理解的代码。在这个项目中,他们经常使用如下语法来检查参数是否为空:publicGenericRepository(IQueryableContextcontext,ITraceManagertraceManager){if(context==(IQueryableContext)null)thrownewArgumentNullException("context",Resources.Messages.exception_ContainerCannotBeNull);为什么要

c# - 在 Directory.Delete 之后,Directory.Exists 有时会返回 true 吗?

我的行为很奇怪。我有,Directory.Delete(tempFolder,true);if(Directory.Exists(tempFolder)){}有时Directory.Exists返回true。为什么?可能是资源管理器打开了吗? 最佳答案 Directory.Delete调用WindowsAPI函数RemoveDirectory.记录观察到的行为:TheRemoveDirectoryfunctionmarksadirectoryfordeletiononclose.Therefore,thedirectoryisnot

c# - 在 ASP.NET MVC 中返回相同 Controller 的不同 View

我想根据isCustomerEligible的值将用户转到两个不同页面之一。当该变量的值设置为false时,它​​会调用Index,但随后会返回Customer的View,而不是Index的View。publicViewResultIndex(){returnView();}publicViewResultCustomer(){DetermineCustomerCode();DetermineIfCustomerIsEligible();returnisCustomerEligible?View():Index();} 最佳答案 如

c# - 检查 Object 在每个属性中是否为 null

我有多个属性的类;publicclassEmployee{publicstringTYPE{get;set;}publicint?SOURCE_ID{get;set;}publicstringFIRST_NAME{get;set;}publicstringLAST_NAME{get;set;}publicListdepartmentList{get;set;}publicListaddressList{get;set;}}有时这个对象返回给我任何属性的值Employeeemp=newEmployee();emp.FIRST_NAME='abc';其余值为空。这个可以但是,如何检查对象属

c# - 检查对象是否为 null 并在同一个 if 语句中比较对象的属性值是否安全?

请参阅线程标题。我是否可以安全地执行类似的操作而不用担心NullReferenceException,或者不能保证这些bool表达式将从左到右求值?//canthisthrowanNRE?if(obj==null||obj.property==value){//dosomething} 最佳答案 他们将从左到右进行评估,保证。所以是的,它是安全的。Theconditional-ORoperator(||)performsalogical-ORofitsbooloperands,butonlyevaluatesitssecondope

c# - 从 Expression<Func<T, object>> 实例获取实际返回类型

我有一个接受Expression>的方法实例。我想获取特定表达式实例返回的实际数据类型,而不是object.我可以让它为直接属性引用工作,所以如果我传入表达式x=>x.IntegerProperty我可以获得整数的类型引用。此方法需要将其转换为MemberExpression。但是,我无法让它适用于任意表达式。例如,如果表达式是x=>x.IntegerProperty.ToString()我想获取字符串的类型引用。我无法将其编译为MemberExpression,如果我只是.Compile()它并检查我得到“对象”的返回类型。如何查看具体的表达式实例并推导出实际的返回类型?

C# : Implicit conversion between '<null>' and 'bool'

当我尝试转换object时收到奇怪的错误消息至bool,这是我的代码:publicpartialclassModifierAuteur:DevExpress.XtraEditors.XtraForm{publicModifierAuteur(objectgetKeyDecesCheckBox){decesCheckBox.Checked=getKeyDecesCheckBox==null?null:(bool)getKeyDecesCheckBox;}}这是错误信息:Typeofconditionalexpressioncannotbedeterminedbecausethereisn

c# - 垃圾回收应该已经删除了对象,但 WeakReference.IsAlive 仍然返回 true

我有一个我希望通过的测试,但是垃圾收集器的行为并不像我想象的那样:[Test]publicvoidWeakReferenceTest2(){varobj=newobject();varwRef=newWeakReference(obj);wRef.IsAlive.Should().BeTrue();//passesGC.Collect();wRef.IsAlive.Should().BeTrue();//passesobj=null;GC.Collect();wRef.IsAlive.Should().BeFalse();//fails}在这个例子中,obj对象应该被GC,因此我希望W

c# - 什么时候抛出异常更好,什么时候返回一些错误日志 'object' 更好?

我想知道如何在两者之间做出决定:1)如果抛出自定义异常或者2)返回一种具有标志的LOG对象,如“CityNotFound”、“ReferenceConstraintBroken”等。我一直在阅读异常是昂贵的。如果我只需要了解流程结果的具体细节,对我来说,拥有一个仅包含流程必要信息的自定义“流程日志对象”听起来更有益。所以,如果我回到我的问题:什么时候抛出异常更好,什么时候返回一些错误日志“对象”更好? 最佳答案 抛出异常以提供更多信息(异常类型、消息等)以进行正确处理并表示:您的代码被不当/非法使用即反对在编译期间无法执行的契约(C